package com.liming.common.pojo.vo.order.web;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * @author liming
 * @date 2025/4/14
 */
@Data
@Schema(description = "退款订单详情VO")
public class RefundOrderVO {

    @Schema(description = "id")
    private Long id;

    @Schema(description = "订单id")
    private Long orderId;

    @Schema(description = "订单号")
    private String orderNo;

    @Schema(description = "用户名称")
    private String username;

    @Schema(description = "退款原因")
    private String reason;

    @Schema(description = "退款申请状态 0 用户申请退款 1 商家同意 2商家拒绝")
    private Integer applyStatus;

    @Schema(description = "拒绝原因")
    private String rejectReason;

    @Schema(description = "退款单号")
    private String refundNo;

    @Schema(description = "申请退款受理成功时，该笔退款单在微信支付侧生成的唯一标识。")
    private String refundId;

    @Schema(description = "订单退款渠道：1: 原路退款，2: 退回到余额，3: 原账户异常退到其他余额账户，4: 原银行卡异常退到其他银行卡（发起异常退款成功后返回）。")
    private Integer channel;

    @Schema(description = "取当前退款单的退款入账方，有以下几种情况：1）退回银行卡：{银行名称}{卡类型}{卡尾号}，2）退回支付用户零钱:支付用户零钱，3）退还商户:商户基本账户商户结算银行账户，4）退回支付用户零钱通:支付用户零钱通，5）退回支付用户银行电子账户:支付用户银行电子账户，6）退回支付用户零花钱:支付用户零花钱，7）退回用户经营账户:用户经营账户，8）退回支付用户来华零钱包:支付用户来华零钱包，9）退回企业支付商户:企业支付商户。")
    private String userReceivedAccount;

    @Schema(description = "退款单的退款处理状态。1: 退款成功，2: 退款关闭，3: 退款处理中，4: 退款异常，退款到银行发现用户的卡作废或者冻结了，导致原路退款银行卡失败，可前往商户平台-交易中心，手动处理此笔退款，可参考： 退款异常的处理，或者通过发起异常退款接口进行处理。")
    private Integer status;

    @Schema(description = "退款所使用资金对应的资金账户类型：\n" +
            "1 UNSETTLED: 未结算资金，\n" +
            "2 AVAILABLE: 可用余额，\n" +
            "3 UNAVAILABLE: 不可用余额，\n" +
            "4 OPERATION: 运营账户，\n" +
            "5 BASIC: 基本账户（含可用余额和不可用余额），\n" +
            "6 ECNY_BASIC: 数字人民币基本账户。")
    private Integer fundsAccount;

    @Schema(description = "退款单创建时间")
    private String createTime;

    @Schema(description = "退款单更新时间（成功时间）")
    private String updateTime;
}
